<?=$this->headTitle("Категории");?>

   <?php $this->JQuery()->addJavaScriptFile($this->baseUrl('js/jquery/jgrid/js/jquery.jqGrid.min.js'))
   					->addJavaScriptFile($this->baseUrl('js/jquery/jgrid/src/jqDnR.js'))
					->addJavaScriptFile($this->baseUrl('js/jquery/jgrid/src/i18n/grid.locale-ru.js'))
					->addStyleSheet($this->baseUrl('js/jquery/jgrid/css/ui.jqgrid.css'))
					->addJavaScriptFile($this->baseUrl('/js/jquery/js/i18n/jquery.ui.datepicker-ru.js'))
					->addJavaScriptFile($this->baseUrl('/js/jquery/js/jquery-ui-timepicker-addon.js'))
					->addStylesheet($this->baseUrl('/css/jquery-ui-timepicker-addon.css'))
					;?>
</head>   
<body>
<script type="text/javascript">
var lastsel;
jQuery(document).ready(function(){
	$('#table').jqGrid({
		width:1100,
		height:400,
	  datatype: 'json',
		url:'/admin/category/index',
		mtype: 'POST',
			
	          colNames:['ID','Название категорий'],
	          colModel :[
							
						{name:'category_id', index:'category_id', width:5,align:'center'},
						{name:'category_name', index:'desc,Название категорий', width:100,align:'left',editable:true,edittype:'text',search:true, searchtype:"string",searchoptions:{sopt:['bw','cn']},sortable:true},

	                     ],


	caption: 'Категории',
	pager: jQuery('#pager'),
	rowNum:15,
	rowList:[5,10,30],
	sortname: 'id',
	sortorder: "asc",
	viewrecords: true,
	emptyrecords: "Nothing to display",	
	multiselect: true,
	editurl: "/admin/category/index",
	loadonce: true,
	rownumbers: true,
	jsonReader: { repeatitems : true},
	gridview : true,
	sortable: true,
  loadComplete:function(data){
            if(data.page >=1){
                var trCount = $('#table').find('tbody').find('tr').length;
                addEmptyRows(trCount);
            }
		}
	});

jQuery("#table").jqGrid('sortableRows',{sortorder:"asc"});
jQuery("#table").jqGrid('navGrid','#pager',{edit:false,add:false,del:true,deltext:'Delete',deltitle:'Удалить категорию',search:true, searchtext: 'Search',searchtitle:'Поиск',reloadAfterSubmit:true,refresh:true,refreshtext:'Reload',refreshtitle:'Обновить',},
      {}, // default settings for edit
      {}, // default settings for add
      {}, // delete instead that del:false we need this
      {closeOnEscape:true, multipleSearch:false, closeAfterSearch:true, multipleGroup:false,left:600, top:200}, // search options
      {}
	);

jQuery('#table').jqGrid('setGridParam', {sortname: 'category_name', sortorder: 'asc'});
jQuery("#table").jqGrid('navButtonAdd','#pager',
	{caption:"New category",title:"Создание новой категории",buttonicon:'ui-icon-plus',
	 onClickButton:function(){
                        jQuery("#table").editGridRow( "new", {
                            url:'/admin/category/index',
                            closeAfterAdd:true,
                            reloadAfterAdd:true,
                            top:200,
                            left:450,
                            width:'200px',
                            afterShowForm : function(){
                                        $(this).jqGrid('setGridParam', {datatype:'json'});
                                        return [true,'',false];
                                }
                            });
                         }});
jQuery("#table").jqGrid('navButtonAdd','#pager',
	{caption:"Edit",title:"Редактирование категории ",buttonicon:'ui-icon-pencil',
	  	 onClickButton:function(){
						var alertIDs='';
                        var gr = jQuery("#table").jqGrid('getGridParam','selrow');
                        if( gr != null ) jQuery("#table").jqGrid('editGridRow',gr,{
                                reloadAfterSubmit:true,
                                url:'/admin/category/index',
                                closeAfterEdit:true,
                                processData: "Обновление...",
                                top:200,
                                left:450,
                                afterShowForm : function(){
                                    $(this).jqGrid('setGridParam', {datatype:'json'});
                                    return [true,'',false];
                                }
                            });
                        else
                    		var alertIDs = {themodal:'alertmod',modalhead:'alerthd',modalcontent:'alertcnt'};
                			if ($("#"+alertIDs.themodal).html() === null) {
                  				 $.jgrid.createModal(alertIDs,"<div>"+$.jgrid.nav.alerttext+"</div><span tabindex='0'><span tabindex='-1' id='jqg_alrt'></span></span>",
                        			{gbox:"#gbox_"+$.jgrid.jqID(this.p.id),jqModal:true,drag:true,resize:true,
                       					 caption:$.jgrid.nav.alertcap,
                        				top:100,left:100,width:200,height: 'auto',closeOnEscape:true,
                        				zIndex: null},"","",true);
                			}
                		$.jgrid.viewModal("#"+alertIDs.themodal,{gbox:"#gbox_"+$.jgrid.jqID(this.p.id),jqm:true});
               			$("#jqg_alrt").focus();
                       } 
                    });
      
jQuery("#table").jqGrid('inlineNav',"#pager",{add:false,search:true,edit:false});
$('#alertmod').css({'left':'600px',top:'200px'});
$("#deldata").click(function(){ 
var gr = jQuery("#table").jqGrid('getGridParam','selrow');
 if( gr != null ) jQuery("#table").jqGrid('delGridRow',gr,{reloadAfterSubmit:false, top:200,left:450});

	else alert("Пожалуйста выделите запись для удаления!"); });

	function viewsarticle(cellvalue, options, rowObject)
	{
	 return "<a href='/catalog/item/display/" + options.rowId + "' >"+cellvalue+"</a>";	 
	}

function editlink(cellvalue, options, rowObject)
	{
	 return "<a href='/admin/articles/update/" + options.rowId + "'title='Редактировать статью'><img src='images/edit.png'></a>";	 
	}

function visible(cellvalue)
	{
	  if(cellvalue=='yes')
	  	{return "<img src='images/apply.png' title='Опубликован'>";
		}else{return "<img src='images/cancel.png' title='Не опубликован'>";}
	  //$('#table_'+cellvalue).trigger('reloadGrid');  	 
	}
});
function Check(cellvalue)
{

   if(cellvalue.length<3){
   	return [false,"Ошибка ,слишком короткая строка. Минимальная длина строки 3 символа"];
}else{
	if(cellvalue.length>30)
	{
		return [false,'Максимальная длина строки 30 символов'];
	}else
		{
		var letterNumber = /^[0-9a-zA-Z_-]+$/;  
 			if(cellvalue.match(letterNumber))   
  			{  
      			return [true,"ok"];
 			}  
			else  
				 {   
  				return [false,"Введены недопустимые символы."];  
  				}  
 		}  
		


 	}
}
function addEmptyRows(rowCount){
    var tr = '<tr class="ui-widget-content jqgrow ui-row-ltr"><td class="ui-state-default"></td><td></td><td></td><td></td></tr>';
    for(var i=rowCount;i < 20;i++){
        $('#table').find('tbody').append(tr);
    }
}
</script>
<div style="float:left;">
<table id="table" ></table>
<div id="pager"></div>
<div style="text-align:left;">
</div>
</div>
